<?php
// +----------------------------------------------------------------------
// | Class  核心入口
// +----------------------------------------------------------------------
// | Copyright (c) 2020
// +----------------------------------------------------------------------

//////////////////////////////////////////////////////////////////////////

header("Content-type: text/html; charset=utf-8");

const SYS_VERSION = '2.3.5';                    // 系统版本(zhlphp核心框架版本)
const SYS_WILL_FIX = '.php';                    // 自定义类文件扩展名
const SYS_CLASS_EXT = '.class.php';             // 核心类文件扩展名

define('SYS_ROOT', __DIR__.'/');                // 核心架构文件目录（绝对路径）
define('SYS_PATH', dirname(__DIR__).'/'); // 项目根目录(绝对路径)

require SYS_ROOT . 'helper/helper.php';         // 框架辅助函数

define('SYS_PHP_VERSION', SYS_PHP_VERSION());   // php版本

// 循环配置常量
$SYS_CONFIGS = require SYS_ROOT . 'helper/config.php';
foreach($SYS_CONFIGS as $k=>$v){
    define($k, $v);
}
$HTTP_TYPE = SYS_HTTP_TYPE();                                   // 获取协议请求类型
$HTTP_HOST = $_SERVER['HTTP_HOST'];                             // 获取项目域名
define('SYS_HOST', SYS_HOST($HTTP_TYPE, $HTTP_HOST));           // 项目域名
define('SYS_URL', SYS_WEB_URL($HTTP_TYPE, $HTTP_HOST));         // 当前访问的url
defined('SYS_PATH_FILE') or define('SYS_PATH_FILE', ''); // 附件根目录（index.php不定义默认为空）
define('SYS_LINK', SYS_HOST.SYS_PATH_FILE);                     // 附件访问路径

define('SYS_URL_PARAM_FIX', isset($_GET['zhlphpurl']) ? $_GET['zhlphpurl'] : ''); // 子url

$SYS_URL_INFO = SYS_URL_CUT();                                  // URL裁剪处理

define('SYS_APP_PRO', $SYS_URL_INFO['mould']);                  // 当前访问功能模块（app下哪个文件）
define('SYS_VIEW_PATH', SYS_PATH.SYS_APP_PATH.'/'.SYS_APP_PRO.'/views/'); // 模版绝对路径常量

define('SYS_INIT_MEMORY',  memory_get_usage());                 // 系统初始内存
define('SYS_INIT_TIME',  microtime(true));          // 系统运行起始时间

// 包含项目配置文件内容加载到全局变量中
if(is_file(SYS_PATH . 'config/config.php')){
    $GLOBALS['CONFIG'] = require SYS_PATH . 'config/config.php';
}

// 加载自定义核心扩展服务文件
require SYS_ROOT . 'plug/service.php';

// 删除默认参数
if(isset($_GET['zhlphpurl'])){
    unset($_GET['zhlphpurl']);
    unset($_REQUEST['zhlphpurl']);
}

// 包含核心框架类
if(!is_file(SYS_ROOT.'core/Core.php')){
    SYS_ERR_LOGER('不存在', SYS_ROOT.'core/Core.php', __LINE__);
}
require SYS_ROOT.'core/Core.php';
$core = new Core;
$core->run($SYS_URL_INFO['controller'], $SYS_URL_INFO['action']);